home *** CD-ROM | disk | FTP | other *** search
/ The Pier Shareware 2 / The Pier Shareware Number 2 (The Pier Exchange) (1993).iso / gap / mmsysop.doc < prev   
Text File  |  1993-01-29  |  68KB  |  1,747 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.                           The MainMail System
  15.                               Version 2.2
  16.                            By: Anthony Summy
  17.                                    
  18.  
  19.                    Copyright (c) 1992, The Main Shop
  20.            Portions Copyright 1984-1989, FairCom Corporation
  21.              Portions Copyright 1992, Gap Development Co.
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.                              Documentation
  45.                            By: Anthony Summy
  46.  
  47. TABLE OF CONTENTS
  48.  
  49. LICENSE AGREEMENT. . . . . . . . . . . . . . . . . . . . . . .  Page 1
  50.  
  51. SATISFACTION GUARANTEE . . . . . . . . . . . . . . . . . . . .  Page 2
  52.  
  53. INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . .  Page 3
  54.      Thank You . . . . . . . . . . . . . . . . . . . . . . . .  Page 3
  55.      What is MainMail? . . . . . . . . . . . . . . . . . . . .  Page 3
  56.      Why Use MainMail? . . . . . . . . . . . . . . . . . . . .  Page 3
  57.      Support . . . . . . . . . . . . . . . . . . . . . . . . .  Page 4
  58.      What You Get. . . . . . . . . . . . . . . . . . . . . . .  Page 4
  59.  
  60. GETTING STARTED. . . . . . . . . . . . . . . . . . . . . . . .  Page 5
  61.      Your MainMail Package . . . . . . . . . . . . . . . . . .  Page 5
  62.      Files Created By MainMail . . . . . . . . . . . . . . . .  Page 6
  63.      Additional Files Needed . . . . . . . . . . . . . . . . .  Page 6
  64.  
  65. INSTALLATION . . . . . . . . . . . . . . . . . . . . . . . . .  Page 7
  66.      Installing MainMail . . . . . . . . . . . . . . . . . . .  Page 7
  67.      Method 1 - From Your Gap Directory. . . . . . . . . . . .  Page 8
  68.      Method 2 - From Its Own Directory . . . . . . . . . . . .  Page 9
  69.      VERY IMPORTANT. . . . . . . . . . . . . . . . . . . . .   Page 10
  70.  
  71. REGISTERING MAINMAIL . . . . . . . . . . . . . . . . . . . .   Page 11
  72.  
  73. DOOR OPERATION . . . . . . . . . . . . . . . . . . . . . . .   Page 12
  74.      How MainMail Works. . . . . . . . . . . . . . . . . . .   Page 12
  75.      Multi-Node Operation. . . . . . . . . . . . . . . . . .   Page 12
  76.      Local Operation . . . . . . . . . . . . . . . . . . . .   Page 13
  77.      Net Operations. . . . . . . . . . . . . . . . . . . . .   Page 14
  78.      Desqview And Memory . . . . . . . . . . . . . . . . . .   Page 14
  79.  
  80. CONFIGURING MAINMAIL . . . . . . . . . . . . . . . . . . . .   Page 15
  81.      The MMSETUP Program . . . . . . . . . . . . . . . . . .   Page 15
  82.      Running MMSETUP . . . . . . . . . . . . . . . . . . . .   Page 15
  83.      The General Configuration Screen. . . . . . . . . . . .   Page 16
  84.      Special Notes On The Work Directory . . . . . . . . . .   Page 18
  85.      Setting Message Limits By Baud Rate . . . . . . . . . .   Page 19
  86.      Configuring Compression Methods . . . . . . . . . . . .   Page 19
  87.      Configuring File Transfer Protocols . . . . . . . . . .   Page 20
  88.      The User File Editor. . . . . . . . . . . . . . . . . .   Page 21
  89.  
  90. IN SUMMARY . . . . . . . . . . . . . . . . . . . . . . . . .   Page 23
  91.  
  92. QUESTIONS AND ANSWERS. . . . . . . . . . . . . . . . . . . .   Page 24
  93.  
  94. APPENDIXES . . . . . . . . . . . . . . . . . . . . . . . . .   Page 25
  95.  
  96.                            LICENSE AGREEMENT
  97.                            -----------------
  98. This is a legal agreement between the purchaser of The MainMail System license
  99. (herein referred to as YOU) and The Main Shop (herein referred to as US or
  100. WE).  By paying the registration fee for The MainMail System (herein referred
  101. to as SOFTWARE) you hereby agree to the terms set forth by this agreement, and
  102. agree to be bound to this contract.  If you find the terms of this contract
  103. to be unacceptable, return the SOFTWARE to us for a refund within 30 days of
  104. payment of the license fee, and we will consider this contract null and void. 
  105. At that time, you are legally required to discontinue to use the SOFTWARE and
  106. remove ALL copies of the SOFTWARE from ALL sources of media you possess, and
  107. retain NO copies whatsoever.
  108.  
  109. You are hereby granted the right to operate the SOFTWARE on one computer
  110. system at one site for the term of this contract.  One computer system is
  111. defined as a single computer, or several computers connected via a single
  112. local-area-network, provided that all computers operating the SOFTWARE share
  113. the same single user file.
  114.  
  115. Multiple bulletin board systems operating with separate data files are
  116. considered separate and individual systems and are specifically excluded from
  117. the terms of this contract, even if they operate using identical or similar
  118. names, and/or are located at the same physical site.  Such multiple systems
  119. each require a license of their own.
  120.  
  121. You are permitted to make a reasonable number of copies of the SOFTWARE for
  122. archival purposes, or for purposes of performance.  Permitted copies would be,
  123. for example, a copy of the SOFTWARE residing on each work station of a local-
  124. area-network providing that the terms described above in regards to multiple
  125. bulletin boards are met.  A reasonable number of copies would be one copy for
  126. each operating node of your bulletin board, plus 2 copies for archival
  127. purposes.  
  128.  
  129. You may NOT under ANY circumstances, provide a copy of your registered
  130. SOFTWARE to a bulletin board operator who has not paid the registration of the
  131. SOFTWARE to us even for archival purposes.
  132.  
  133. You may operate as many copies of the SOFTWARE as you operate nodes on your
  134. bulletin board system, plus one.  The one additional copy can be operated as
  135. a local (non-publicly available) copy for your own use off-line.  This method
  136. of use is considered normal, and does not violate the terms of this contract.
  137.  
  138. You may not rent, lease or share the SOFTWARE with any other party.  However,
  139. the software is transferable to another party providing that these conditions
  140. are met:
  141.  
  142. 1)   The receiving party registers his/her bulletin board with us.
  143. 2)   You eliminate all copies and retain NO copies of the SOFTWARE.
  144.  
  145. Should any part or section of this contract be determined to be unenforceable
  146. or unconstitutional, that section shall be declared void.  Such declaration
  147. shall have no effect on the remaining sections of this contract.
  148.  
  149. Information in this manual is subject to change without notice.  The Main Shop
  150. may make improvements and/or changes to The SOFTWARE at anytime.  
  151.  
  152.  
  153.  
  154.                                                                      Page 1
  155.                          SATISFACTION GUARANTEE
  156.                          ----------------------
  157. The SOFTWARE is sold with an unconditional 30-day money-back guarantee.  If
  158. for any reason you are not completely satisfied with the SOFTWARE, return it
  159. within 30 days of purchase, and your full purchase price will be refunded. 
  160. The Main Shop makes no warranties of any kind, expressed or implied, with
  161. respect to the quality, performance, accuracy, or fitness of SOFTWARE for any
  162. particular purpose.  The Main Shop assumes no responsibility for any decisions
  163. made or actions taken on the part of Purchaser because of the use of the
  164. SOFTWARE.  In no event shall The Main Shop be liable for any loss of profit
  165. or any other damages, including but not limited to special, incidental,
  166. consequential or other damages, arising out of the use of or inability to use
  167. the product, even if The Main Shop has been advised of the possibility of such
  168. damages.
  169.  
  170. The Main Shop, Markmail For Gap, and The MainMail System are trademarks of The
  171. Main Shop.  No right or interest to such trademarks is granted herein.  You
  172. agree that no right or claim shall be asserted by you, and you shall not use
  173. these trademarks except as provided by the terms of this contract.
  174.  
  175. The following companies and products are referred to throughout this manual. 
  176. These products are the trademarks of their respective authors/companies and
  177. are described in detail here.
  178.  
  179.      GAP is the trademark of Gap Development Co.
  180.      PXZIP/PKUNZIP are trademarks of PKWARE inc.
  181.      DSZ is a trademark of Omen Technologies, Inc.
  182.      PCRELAY is a trademark of Kip Compton.
  183.      NOVELL is a trademark of Novell, Inc.
  184.      WORDPERFECT is a trademark of the Wordperfect Corporation.
  185.      C-TREE is a trademark of FairCom corporation.
  186.      RELAYNET is a trademark of the Relaynet International Message Exchange.
  187.      INTELEC is a trademark of The Intelec Network.
  188.  
  189. The SOFTWARE and this documentation are copyrighted material.  No copies of
  190. this documentation may be made without the expressed written consent of The
  191. Main Shop.
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.                                                                      Page 2
  214.                              INTRODUCTION
  215.                              ------------
  216.      Thank You
  217.      ---------
  218. Thank you for your purchase of The MainMail System.  The MainMail System was
  219. designed as an improvement on other mail doors.  The MainMail System is fast
  220. and easy to use, and new versions continue to make it better.  Again, thanks
  221. for supporting The MainMail System!
  222.  
  223.  
  224.  
  225.      What is MainMail?
  226.      -----------------
  227. The MainMail System Ver 2.0 is an off-line message reader door for GAP 6.x
  228. systems. The MainMail System allows your users to log onto your Gap BBS
  229. system, collect all new messages from their selected forums, all new
  230. bulletins, and a list of new files into a packet to download.  Then off-line,
  231. users can use any one of dozens of "QWK" compatible readers to read and reply
  232. to their messages.  Logging on to your system again, they use The MainMail
  233. System to upload their replies.
  234.  
  235.      Why Use MainMail?
  236.      -----------------
  237. 1.   The MainMail System is fast!  The MainMail System will collect and
  238.      compress a mail packet five to ten times faster than UTI driven mail
  239.      doors.
  240.  
  241. 2.   The MainMail System has BIG capabilities in a small package.  The
  242.      MainMail System is written totally in C, with communications routines
  243.      in Assembly language, so it is less than half the size of other mail
  244.      systems.
  245.  
  246. 3.   The MainMail System reads DIRECTLY from, and writes DIRECTLY to the Gap
  247.      ISAM data files instead of requiring a UTI driver or other interface
  248.      utility.  This is what gives The MainMail System its speed.
  249.  
  250. 4.   The MainMail System reads DIRECTLY from your Gap configuration, so forum
  251.      setup is not necessary.  In addition, you can run The MainMail System
  252.      right from your Gap default directory.  MainMail does NOT require its
  253.      own directory.  
  254.  
  255. 5.   The MainMail System's com routines support up to 115,200 bps!
  256.  
  257. 6.   The MainMail System gives your users valuable features:
  258.  
  259.      - Auto logoff after downloading or uploading.
  260.      - Quick forum selection and pointer update from the same menu.
  261.      - Item configuration off-line using messages to MAINMAIL.
  262.      - Pointer backdating to recover previous messages.
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.                                                                      Page 3
  273.      Support
  274.      -------
  275. Support is foremost in my mind!  That is why the support numbers are here in
  276. the front of the manual.  I will strive to correct any problems as soon as
  277. possible, usually within 24 hours.
  278.  
  279.            Anthony Summy
  280.            PO Box 4284
  281.            Orange, CA  92613
  282.            (714) 783-6786 (voice)
  283.  
  284.            The Main Shop BBS
  285.            Home of The MainMail System
  286.            Sysop, Tony Summy
  287.            (714) 783-6613
  288.  
  289.  
  290. The voice number above is my home, so if you don't reach me during the day,
  291. please understand.  I will return all support calls that evening or the first
  292. opportunity I get.
  293.  
  294. In addition, we host a support forum on the Relaynet International Message
  295. Exchange (RIME) network, national conference number 131.  The author monitors
  296. and moderates this conference from the home of MainMail, The Main Shop and is
  297. always available there.  Support issues and questions can be addressed to Tony
  298. Summy and routed to ->THEMAIN if desired.  The Relaynet conference is
  299. available from hundreds of bulletin boards around the world.  If your bulletin
  300. board is not a member of Relaynet, contact a local Relaynet bbs for
  301. information on becoming a member.  If your bulletin board IS a member of
  302. Relaynet, you are encouraged to carry The MainMail Support forum on your bbs.
  303.  
  304.  
  305.      What You Get
  306.      ------------
  307. Purchasers of The MainMail System are entitled to one (1) year of unlimited
  308. support from The Main Shop, either by voice or from our BBS in the MainMail
  309. Support forum #1.  After the first year, support can be renewed in one year
  310. increments for a nominal charge.  See the bulletin area on The Main Shop BBS
  311. for details.
  312.  
  313. In addition to the support described above, purchasers of The MainMail System
  314. are entitled to free and unlimited upgrades of the software for the first
  315. year, or as long as your support is current.  Updates can be obtained from The
  316. Main Shop BBS in the MainMail Support forum, forum #1.  Your support must be
  317. current in order to obtain updates.
  318.  
  319. At present, we do not charge any additional fees for upgrades, either minor
  320. or major.  We do, however, reserve the right to change this policy at any
  321. time.
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.                                                                      Page 4
  332.                             GETTING STARTED
  333.                             ---------------
  334. There are a few thing you must know prior to installing The MainMail System. 
  335. First and foremost, there are two versions of The MainMail System, and you
  336. MUST have the correct version of the door or you will permanently and
  337. irreparably damage your Gap data files.  If you are running the single node
  338. version of Gap, you MUST use the single node version of The Main Mail System. 
  339. If you are running the multi-node version of Gap, you MUST use the multi-node
  340. version of The MainMail System.  DO NOT RUN THE INCORRECT VERSION OR PERMENANT
  341. AND IRREPAIRABLE DAMAGE TO YOUR GAP ISAM DATA FILES WILL RESULT!!
  342.  
  343.  
  344.      Your MainMail Package
  345.      ---------------------
  346. 1)   MM-MULT.ZIP contains the multi-user executable files.
  347. 2)   MM-SING.ZIP contains the single-user executable files.
  348. 3)   MMPACK.ZIP contains the user file pack utility. (Not in DEMO)
  349. 4)   HELP.ZIP contains the HELP files.
  350. 5)   GEN.ZIP contains the sample menu and news files.
  351. 6)   MMSYSOP.DOC - This documentation.
  352. 7)   MAINMAIL.BAT - Sample door batch file.
  353. 8)   UPGRADE.DOC - For upgrading previous versions. (Not in DEMO)
  354. 9)   REGISTER.FRM - Registration form. (DEMO only)
  355.  
  356.      MM-MULT.ZIP or MM-SING.ZIP each contain:
  357.      ----------------------------------------
  358. 1.   MM-GAP.EXE - The program itself.
  359. 2.   MMSETUP.EXE - The MainMail Setup Program.
  360.  
  361.      MMPACK.ZIP contains:
  362.      --------------------
  363. 1.   MMPACK.EXE - The MainMail user file packing and rebuilding utility.
  364.      (Not contained in the DEMO version)
  365.  
  366.      GEN.ZIP contains:
  367.      -----------------
  368. 1.   MM-NEWS - This news file will be displayed to all users as they enter
  369.      the door. 
  370.  
  371. 2.   MM-NUSER - This new user file will be displayed the first time a user
  372.      opens the door.  Use this file to instruct new users how to select
  373.      forums, compression methods, and file transfer protocols.
  374.  
  375. 3.   MM-MENU - This main menu is displayed at all times unless the user has
  376.      chosen "expert" mode.
  377.  
  378.      HELP.ZIP
  379.      --------
  380.      All MainMail help files.
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.                                                                      Page 5
  391.      Files Created By MainMail
  392.      -------------------------
  393. 1.   MMUSER.DAT and MMUSER.IDX - MainMail maintains these files to keep track
  394.      of your user's various accumulators, last QWK dates, selected protocol,
  395.      and compression methods.  MainMail creates these files in your Gap MAIN
  396.      directory the first time the door is opened.
  397.  
  398. 2.   MMDAT.CNF  - The MainMail System configuration is kept in this file. 
  399.      Information such as the protocols and compression formats you have set
  400.      up, paths and names of your MainMail menu and news files, etc.  On
  401.      multi-node systems, only one MMDAT.CNF file is needed for all nodes if
  402.      all nodes are configured with identical paths.  The MainMail Setup
  403.      program creates this file in your Gap MAIN directory.
  404.  
  405. 2.   MMSYS.DAT - An encrypted key file for your specific BBS.  This file is
  406.      normally kept in your Gap MAIN directory.  Only one copy is required
  407.      for all nodes.  NOTE: The MainMail System does not ship with this file. 
  408.      You create this file using the REGISTER command line option.  See the
  409.      section entitled REGISTERING MAINMAIL later in this manual.
  410.  
  411.  
  412.      Additional Files Needed
  413.      -----------------------
  414. In addition to the files included in your MainMail package, you will need some
  415. external programs for The MainMail System to work properly.  You will need at
  416. least one archiving program, and at least one file transfer protocol.  You can
  417. use any one you like, but we have found PKZIP from PKware to be the most
  418. reliable archiving program, and DSZ from Omen Technologies, Inc. to be about
  419. the most common and most reliable file transfer protocol. 
  420.  
  421. 1.   DSZ.COM - A transfer protocol program.  Must be in the path.  You must
  422.      have a registered copy of DSZ if you decide to use it for your file
  423.      transfer protocol.  Unregistered versions of DSZ will not work properly
  424.      because they will not accept a path to the file to be transfered.
  425.  
  426. 2.   PKZIP/PKPAK and PKUNZIP/PKUNPAK - Compression  programs.  Must be in the
  427.      path.
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.                                                                      Page 6
  450.                              INSTALLATION
  451.                              ------------
  452.  
  453.      Installing MainMail
  454.      -------------------
  455. You have never installed a door so easily.  There are two ways to install The
  456. MainMail System.   One way is to run MainMail from your Gap default directory,
  457. and the other is to install MainMail in its own directory.  The MainMail
  458. System is designed to run from your Gap directory as an integral part of Gap. 
  459. This is the preferred method.  We will cover both methods in this section.
  460.  
  461. Using method 1, MainMail runs from your Gap default directory.  You will read
  462. several times throughout this manual that this is the preferred method.  Using
  463. this method, you will simply copy your MainMail menus, news files, and new
  464. user information screens into your Gap GEN directory, and your MainMail help
  465. files into your Gap HELP directory.  MainMail will then locate its data files
  466. in your Gap MAIN directory along with your Gap data files.  This method allows
  467. maximum versatility and ease of installation because there is really no setup
  468. besides running MMSETUP once from any node's default directory.  In addition,
  469. all nodes will share the same files.  If you change the configuration on one
  470. node, since all nodes use that configuration, all nodes would automatically
  471. inherit that change.
  472.  
  473. Using method 2, MainMail can run in its own directory.  Using this method, you
  474. would copy all MainMail related files except the MMUSER files into a separate
  475. directory.  This directory could be a common directory accessible to all
  476. nodes, or it could be a separate directory for each node.  MainMail runs
  477. virtually identically this way, but if you DO have a different configuration
  478. file (MMDAT.CNF) for each node, you would then have to maintain the
  479. configuration for each node separately.  This method requires that you pass
  480. the path to your Gap default directory for the current node on the MainMail
  481. command line.
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.                                                                      Page 7
  509.      Method 1 - From Your Gap Directory
  510.      ----------------------------------
  511. 1.   Copy MM-GAP.EXE, MMSETUP.EXE, and MMPACK.EXE into the same directory as
  512.      your Gap executable files.  This can be any directory in your path.
  513.  
  514. 2.   If you have any of these files: MMSYS.DAT, MMDAT.CNF, MMUSER.DAT or
  515.      MMUSER.IDX, copy them into your Gap MAIN directory.
  516.  
  517. NOTE: If this is a first-time installation, you do not yet have any of these
  518.       files.
  519.  
  520. 3.   Unzip GEN.ZIP into your Gap GEN directory.
  521.  
  522. 3.   Unzip HELP.ZIP into your Gap HELP directory.
  523.  
  524. 4.   See the CONFIGURATION section (page 15) of this manual for detailed
  525.      instructions on configuring The MainMail System.
  526.  
  527. NOTE: The MainMail System door will not run until it is configured!
  528.  
  529. 5.   If necessary, edit your MAINMAIL.BAT file.  When running The MainMail
  530.      System from your Gap default directory, all your batch file needs to do
  531.      is run the door.  
  532.  
  533.      Example MAINMAIL.BAT file
  534.      -------------------------
  535.      @ECHO OFF
  536.      MM-GAP
  537.  
  538. 6.   Edit your DOORS.DAT file and your DOORM(g) menus to reflect the addition
  539.      of The MainMail System to your board.
  540.  
  541.      Example DOORS.DAT File
  542.      ----------------------
  543.      MAINMAIL 50 C:\GAP\DOORS\MAINMAIL.BAT
  544.  
  545.      That's all there is to it......
  546.  
  547.  
  548.  
  549.  
  550.  
  551.  
  552.  
  553.  
  554.  
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562.  
  563.  
  564.  
  565.  
  566.  
  567.                                                                      Page 8
  568.      Method 2 - From Its Own Directory
  569.      ---------------------------------
  570. All configuration is identical to above, except that you must run MM-GAP.EXE
  571. and MMSETUP.EXE from the MainMail directory, and include the path to the Gap
  572. default directory on the command line.
  573.  
  574. 1.   Create a directory for The MainMail System.  
  575.  
  576. Example: C:\GAP\DOORS\MAINMAIL
  577.  
  578. NOTE: On multi-node systems, this can be either a network or local drive.
  579.       If a network drive is used, all nodes can run from the same directory
  580.       as long as the batch file that invokes MainMail "points" to the correct
  581.       Gap default directory for this node.  See step 6 for more detail.
  582.  
  583. 2.   Copy all MainMail files into your MainMail directory.
  584.  
  585. 3.   Copy MMUSER.DAT and MMUSER.IDX (if you have them) into your Gap MAIN
  586.      directory.
  587.  
  588. NOTE: If this is a first time installation, you do not yet have these files.
  589.  
  590. 4.   Unzip HELP.ZIP and GEN.ZIP into the MainMail directory.
  591.  
  592. 5.   See the CONFIGURATION section (page 15) of this manual for detailed
  593.      instructions on configuring MainMail.
  594.  
  595. NOTE: The MainMail System door will not run until it is configured!
  596.  
  597. 6.   If necessary, edit your MAINMAIL.BAT file(s).  When running MainMail
  598.      from its own directory, you must include the path to your Gap default
  599.      directory for this node on the command line in the batch file.  
  600.  
  601.      Example MAINMAIL.BAT file
  602.      -------------------------
  603.      @ECHO OFF
  604.      CD\GAP\DOORS\MAINMAIL
  605.      MM-GAP C:\GAP          (Substitute your drive:\dir if necessary)
  606.  
  607. 7.   Edit your DOORS.DAT file and your DOORM(g) menus to reflect the addition
  608.      of The MainMail System to your board.
  609.  
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618.  
  619.  
  620.  
  621.  
  622.  
  623.  
  624.  
  625.  
  626.                                                                      Page 9
  627.      VERY IMPORTANT
  628.      --------------
  629. Since it is possible to configure The MainMail System to run in a directory
  630. on a local drive, and also possible that the MainMail directory can be
  631. different for each node, MainMail WILL locate MMUSER.DAT and MMUSER.IDX in
  632. your Gap MAIN directory.  This is because The MainMail System MUST have a
  633. common location to all nodes for its user file.  This is NOT an option!  All
  634. other files can reside in the MainMail directory.  
  635.  
  636. Optionally, you may locate MMDAT.CNF and MMSYS.DAT in your Gap MAIN and
  637. MainMail will find them there.  If you do, and you find the need to change
  638. MainMail's configuration, (IE: add a protocol) you would need to do so only
  639. once, from any node, and all nodes would be affected.  If you locate MMDAT.CNF
  640. and MMSYS.DAT in the MainMail directory, and have separate MainMail
  641. directories for each node, you would have to update each node separately.
  642.  
  643. By nature, MMDAT.CNF is very node dependent.  In other words, MMDAT.CNF might
  644. be different for each node.  In this case, you would have to create a node
  645. specific MMDAT.CNF for each node, and locate the file in the MainMail
  646. directory for that node.
  647.  
  648. MMSYS.DAT on the other hand, is a static file (it never changes).  For this
  649. reason, there is really no reason to have a copy in each node's MainMail
  650. directory.  Place MMSYS.DAT in your Gap MAIN directory and The MainMail System
  651. will find it there.
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674.  
  675.  
  676.  
  677.  
  678.  
  679.  
  680.  
  681.  
  682.  
  683.  
  684.  
  685.                                                                      Page 10
  686.                          REGISTERING MAINMAIL
  687.                          --------------------
  688. If you have registered The MainMail System you were issued a passcode which
  689. consisted of a large number.  You must have this number now to register your
  690. MainMail System door.
  691.  
  692. If you have not registered The MainMail System, (IE: if you are running the
  693. DEMO), simply skip this section.  See REGISTER.DOC for information on
  694. registering the DEMO.
  695.  
  696.  
  697. 1.   From any node's DEFAULT directory, type:
  698.  
  699.      MM-GAP REGISTER <enter>
  700.  
  701. 2.   Answer the questions as they come up, entering EXACTLY what is on your
  702.      registration form, or what you provided to The Main Shop when obtaining
  703.      your passcode.  CASE AND PUNCTUATION ARE IMPORTANT!  All entries must
  704.      match the information provided EXACTLY!
  705.  
  706. 3.   Once your passcode is entered, MainMail will create a file in the
  707.      CURRENT directory named MMSYS.DAT.  This is your encrypted key file. 
  708.      Copy it to your Gap MAIN directory and your MainMail System is
  709.      registered.
  710.  
  711.      If you ever loose this file, simply start step one over and create
  712.      another encrypted key file.  Keep this passcode in a safe place.  It
  713.      will be used on future revisions of The MainMail System.
  714.  
  715.  
  716. NOTE: The demo version of The MainMail System will operate without any
  717.       restrictions except one.  There is a limit of 20 on the number of users
  718.       allowed in the MainMail user file.  Once you register The MainMail
  719.       System and obtain your passcode, the 20 user limit will no longer apply.
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.  
  732.  
  733.  
  734.  
  735.  
  736.  
  737.  
  738.  
  739.  
  740.  
  741.  
  742.  
  743.  
  744.                                                                      Page 11
  745.                             DOOR OPERATION
  746.                             --------------
  747.  
  748.      How MainMail Works
  749.      ------------------
  750. The MainMail System is specifically designed to run from your Gap default
  751. directory once correctly configured.  To invoke MainMail, your door batch file
  752. needs only to run the program.  Once invoked, MainMail reads DOOR.SYS, and
  753. GAPBBS.CNF to find your MAIN directory.  It then reads MMSYS.DAT to find your
  754. registration info, then MMDAT.CNF for its own configuration, and begins to
  755. run.  MainMail will look for MMSYS.DAT and MMDAT.CNF in the current directory
  756. first, and if not found, MainMail will check your Gap MAIN directory.  At that
  757. time, all Gap files are read, including USERS.DAT, FILES.DAT, MEMBERS.DAT and
  758. FORUMS.DAT.  As you can see, since The MainMail System works directly with
  759. your Gap files, a minimum of overhead is introduced.  All operation is
  760. automatic.  
  761.  
  762. If you are running The MainMail System from its own directory, there is one
  763. addition step.  You must pass to MainMail, the path to your Gap default
  764. directory on the MainMail command line. (See below)  Once MainMail finds your
  765. Gap default directory, it reads DOOR.SYS and GAPBBS.CNF and the operation is
  766. identical to above.
  767.  
  768.  
  769.      Multi-Node Operation
  770.      --------------------
  771. There are two versions of The MainMail System, a multi-node version, and a
  772. single-node version.  It is VERY IMPORTANT that you have obtained the correct
  773. version of The MainMail System.  If you have the wrong version, MainMail will
  774. corrupt your Gap ISAM files.  DO NOT use the wrong version.
  775.  
  776. If you are running The MainMail System from your Gap default directory, you
  777. need only one batch file for all nodes.  All operation is automatic.  This
  778. method would require that all nodes share the same path to your Gap MAIN
  779. directory.
  780.  
  781. If you are running The MainMail System from its own directory, a minor change
  782. is needed.  You will need to have a MAINMAIL.BAT file for each node, and pass
  783. the correct path to that node's Gap default directory within that node's batch
  784. file.  Example:
  785.  
  786.  
  787.      Example Node 1 batch file         Example Node 2 batch file
  788.      -------------------------         -------------------------
  789.      @echo off                         @echo off
  790.      cd\gap\doors\mainmail             cd\gap\doors\mainmail
  791.      mm-gap c:\gap1                    mm-gap c:\gap2
  792.  
  793.  
  794.  
  795.  
  796.  
  797.  
  798.  
  799.  
  800.  
  801.  
  802.  
  803.                                                                      Page 12
  804.      Local Operation
  805.      ---------------
  806. The MainMail System is fully functional in local mode.  If a user logs onto
  807. the BBS at the console, MainMail will treat him just as if he were logged on
  808. from remote.  MainMail will create a packet and ask for the directory to place
  809. the packet.  The default will be the path pointed to in the MainMail
  810. configuration for that node.  (See the CONFIGURATION section (page 15) of this
  811. manual).
  812.  
  813.  
  814.      Unattended Operation
  815.      --------------------
  816. In addition, the sysop may run MainMail as a batch process, totally
  817. unattended.  To do so, you must create a copy of DOOR.SYS from your own logon. 
  818. This is most easily done by logging onto your bbs locally, opening any door,
  819. and after returning from the door, press F5 to shell to dos.  Then copy
  820. DOOR.SYS to a directory set aside for your storage of your local DOOR.SYS.
  821. (I use a directory under my Gap default directory called MMLOCAL).
  822.  
  823. When run unattended, MainMail will place an auto-downloaded QWK packet in the
  824. local download directory configured in MMSETUP.  Similarly, MainMail will
  825. look for an auto-uploaded REP in the local upload directory configured in
  826. MMSETUP. (See page 15 for configuration details). 
  827.  
  828. To invoke MainMail to run unattended, change to your Gap default directory (if
  829. you are not already there), copy the DOOR.SYS from your storage directory
  830. mentioned above, and then run MM-GAP with either the '-D' or '-U' command line
  831. parameter.  '-D' for auto-[D]ownload, and '-U' for auto-[U]pload.  Below are
  832. some example batch files for unattended operation.
  833.  
  834.      Unattended Upload
  835.      -----------------
  836.      @ECHO OFF
  837.      C:
  838.      CD\GAP
  839.      COPY C:\GAP\MMLOCAL\DOOR.SYS
  840.      MM-GAP -U
  841.  
  842.      Unattended Download
  843.  
  844.      @ECHO OFF
  845.      C:
  846.      CD\GAP
  847.      COPY C:\GAP\MMLOCAL\DOOR.SYS
  848.      MM-GAP -D
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.                                                                      Page 13
  863.      Net Operations
  864.      --------------
  865. All messages uploaded into a forum configured as a network mail forum in
  866. GAPSETUP will be exported through network software such as PCRELAY.  The QWK
  867. packet does not support the 'echo' flag found in some readers.  Any mail
  868. imported through MainMail (or any other QWK mail door) will automatically be
  869. exported through network software such as PCRELAY.  MainMail does not yet
  870. support networking directly.  Future versions will support QWK net operations
  871. through the MainMail door.
  872.  
  873. When these features are integrated into MainMail, you will be able to 'tie'
  874. two or more MainMail equipped board together through The MainMail System. 
  875. Basically, this system will process a QWK file downloaded from another board
  876. through The MainMail door, and import this QWK into your board.  Similarly a
  877. REP exported through your MainMail door could be uploaded into the other
  878. board's MainMail door, and thus imported into that board.  This can be
  879. compared to a peer-to-peer network of MainMail doors.
  880.  
  881. As mentioned in the last paragraph, Ver. 2.00 of The MainMail System does not
  882. yet provide for these features.  Rest assured though, these features WILL be
  883. available in the next version.
  884.  
  885.  
  886.      Desqview And Memory
  887.      -------------------
  888. MainMail automatically detects the presence of Desqview and routes all screen
  889. writes directly through it.  "Writes directly to screen" can be set to "NO"
  890. and MainMail will not bleed through from the background.  
  891.  
  892. Memory requirements will vary depending on the number of forums you have
  893. configured in Gap.  The MainMail System dynamically allocates memory at
  894. runtime by reading your GapBBS.CNF to see how many forums you have, and
  895. allocating only the memory needed to accomodate that number of forums.  The
  896. door itself requires approximately 200k, plus about 30 bytes per forum.  Then
  897. add approximately 190k for PKZIP or 64k for DSZ.  Markmail releases memory
  898. from one shell before allocating for another, thus should never require memory
  899. for both shells simultaneously.  In other words, you will never need BOTH the
  900. 190k for PKZIP and the 64k for DSZ simultaneously.  
  901.  
  902. On The Main Shop, we have 300 forums configured, and MainMail takes up about
  903. 209k at run-time.  While shelled out to PKZIP, that jumps to about 390k.
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.                                                                      Page 14
  922.                          CONFIGURING MAINMAIL
  923.                          --------------------
  924.  
  925.       The MMSETUP Program
  926.       -------------------
  927. When you run MMSETUP for the first time, it will create MMDAT.CNF, the
  928. MainMail Configuration file for you, and create some default entries.  MMSETUP
  929. will configure most common compression methods and file transfer protocols for
  930. you.  We have found these to be the most common methods, so we simply included
  931. them automatically in a new installation.  
  932.  
  933. In addition, MMSETUP reads your GAPBBS.CNF, finds the path to your Gap GEN,
  934. MAIN and HELP directories and configures MainMail to those paths, assuming
  935. that you are going to run MainMail from your default directory as described
  936. in method 1 earlier in this manual.
  937.  
  938. MMSETUP creates MMDAT.CNF in your Gap MAIN directory the first time it is run,
  939. so in most cases you can simply leave it there.  From that point forward,
  940. MMSETUP will find MMDAT.CNF in your MAIN directory.
  941.  
  942.  
  943.       Running MMSETUP
  944.       ---------------
  945. From any node's Gap default directory, type MMSETUP <enter>,  or if you have
  946. MainMail in its own directory, change to that directory and type MMSETUP
  947. C:\GAP <enter>.  (Substitute your drive:\dir if necessary)  After the MainMail
  948. copyright notice clears, you will see this menu:
  949.  
  950. ┌───────────────────────────────────────────────────────────────────────┐
  951. │     About   Config   Compression   Protocols   Users          Quit    │
  952. └───────────────────────────────────────────────────────────────────────┘
  953.  
  954.      Here is a description of each selection
  955.  
  956.       About:  Gives you a short description of MMSETUP.
  957.  
  958.      Config:  This is where you configure the paths and filenames used in
  959.               MainMail.
  960.  
  961. Compression:  This is where you add or edit your compression methods.
  962.  
  963.   Protocols:  This is where you add or edit your file transfer protocols.
  964.  
  965.       Users:  This selection gives you the ability to edit your MainMail
  966.               users file.
  967.  
  968.        Quit:  Exits MMSETUP, saves your changes automatically and returns
  969.               you to DOS.
  970.  
  971.  
  972.  
  973.  
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.                                                                      Page 15
  981.       The General Configuration Screen
  982.       --------------------------------
  983.  
  984. ┌──────────────────────────────────────────────────────────────────────┐
  985. │     Location of Help Files            : C:\GAP\HELP\                 │
  986. │     Location of Local Uploads         : C:\SLMR\UL\                  │
  987. │     Location of Local Downloads       : C:\SLMR\DL\                  │
  988. │     Location of Offline Packet Storage: C:\GAP\LOOSE\                │
  989. │     Name/Location of NEWUSER File     : C:\GAP\GEN\MM-NUSER          │
  990. │     Name/Location of NEWS File        : C:\GAP\GEN\MM-NEWS           │
  991. │     Name/Location of MENU File        : C:\GAP\GEN\MM-MENU           │
  992. │     Name/Location of TCAN File        : C:\GAP\GEN\MM-TCAN           │
  993. │                                                                      │
  994. │     Drive to use for Work Directory   :                              │
  995. │     Number of Rep's for Upload Credit : 0    (0 = No Credit Given)   │
  996. │                                                                      │
  997. │                                Baud   : 300  1200 2400  9600+        │
  998. │     Default Messages per Forum        : 100  200  200   200          │
  999. │     Default Messages per Packet       : 300  400  800   1200         │
  1000. │     Maximum Messages per Forum        : 100  200  200   200          │
  1001. │     Maximum Messages per Packet       : 300  400  800   1200         │
  1002. └──────────────────────────────────────────────────────────────────────┘
  1003.  
  1004. A description of each entry shown above appears on the next page.
  1005.  
  1006. Most of the entries shown above will be created automatically for you as
  1007. defaults when you run MMSETUP for the first time.  You can then simply
  1008. overwrite the ones you need to change, and when you exit MMSETUP, the changes
  1009. are automatically saved to MMDAT.CNF.
  1010.  
  1011. One huge advantage in MainMail is its ability to run as an integral part of
  1012. Gap.  If you are running MainMail from your Gap default dir, you can simply
  1013. place your MainMail menus etc in your Gap GEN directory, and your MainMail
  1014. HELP files in your Gap HELP directory.  See the section on Installing MainMail
  1015. for more details.
  1016.  
  1017. If you are running MainMail in its own directory, simply change the paths
  1018. shown above to your MainMail directory, and place all MainMail menus and help
  1019. files there.
  1020.  
  1021.  
  1022.  
  1023.  
  1024.  
  1025.  
  1026.  
  1027.  
  1028.  
  1029.  
  1030.  
  1031.  
  1032.  
  1033.  
  1034.  
  1035.  
  1036.  
  1037.  
  1038.  
  1039.                                                                      Page 16
  1040.      Description of each entry in the GENERAL config screen
  1041.      ------------------------------------------------------
  1042.  
  1043.      Location of Help Files: The PATH ONLY to your MainMail "help" files.
  1044.                              Default is your Gap HELP directory.
  1045.  
  1046.   Location of Local Uploads: The path to where your reader places "REP"
  1047.                              packets to upload.  This should be your com
  1048.                              program's UPLOAD directory.  Default is blank.
  1049.  
  1050. Location of Local Downloads: The path to where your reader expects to find
  1051.                              downloaded "QWK" files.  This should be your
  1052.                              COM program's download directory.  Default is
  1053.                              blank.
  1054.  
  1055. Loc of Offline Pack Storage: A future expansion feature will allow you to
  1056.                              assign pre-prepared packets at pre-determined
  1057.                              times for your users.  This will be the
  1058.                              directory where MainMail stores these packets.
  1059.                              (Not operational)  Default is your Gap LOOSE
  1060.                              FILES directory.
  1061.  
  1062.    Name/Loc of NEWUSER File: The path and file name of your MainMail
  1063.                              "NEWUSER" file.  This screen will be shown to
  1064.                              each user the first time he(she) opens the
  1065.                              MainMail door.  Default is MM-NUSER in your Gap
  1066.                              GEN directory.
  1067.  
  1068.  Name/Location of NEWS File: The path and file name of your MainMail "NEWS"
  1069.                              file.  This screen will be shown to each user
  1070.                              EVERY time he(she) opens the door.  Default is
  1071.                              MM-NEWS in your Gap GEN directory.
  1072.  
  1073.  Name/Location of MENU File: The path and file name of your MainMail "MAIN
  1074.                              MENU".  Default is MM-MENU in your Gap GEN
  1075.                              directory.
  1076.  
  1077.  Name/Location of TCAN File: The path and file name of your MainMail
  1078.                              "TRASHCAN" file.  This is a single column text
  1079.                              file with only a list of names, similar to your
  1080.                              Gap "TCAN" file.  This feature is part of the
  1081.                              network access system and is not yet
  1082.                              operational.  Any messages to or from a user
  1083.                              who's name appears in this file will not be
  1084.                              passed to or from the network.  Default is MM-
  1085.                              TCAN in your Gap MAIN directory.
  1086.  
  1087.  
  1088.  
  1089.  
  1090.  
  1091.  
  1092.  
  1093.  
  1094.  
  1095.  
  1096.  
  1097.  
  1098.                                                                      Page 17
  1099.   Drive to use for Work Dir: MainMail creates a temporary WORK directory the
  1100.                              first time it is run.  This entry tells
  1101.                              MainMail which drive to create this directory
  1102.                              on.  This can be a network drive, a local
  1103.                              drive, a ram-drive, or it can be left blank.
  1104.                              If left blank, MainMail will create its work
  1105.                              directory off of the current directory.  The
  1106.                              directory will be 'MWORK' for single-node
  1107.                              systems, or 'MWORKxx' for multi-node systems,
  1108.                              where 'xx' is the node number.  Default is
  1109.                              blank.
  1110.  
  1111.                        NOTE: MainMail leaves this directory in place when it
  1112.                              exits.  This allows Novell Network Systems to
  1113.                              flag the directory 'PURGE'.
  1114.  
  1115.  Number Rep's/Upload Credit: This is the number of "REP" packets a user must
  1116.                              upload to receive upload credit.  A value of
  1117.                              zero (0) disables this option.  Default is 0.
  1118.  
  1119.  
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.       Special Notes On The Work Directory
  1127.       -----------------------------------
  1128. MainMail creates its WORK directory off of the ROOT of the drive entered
  1129. above.  If this is a Novell network drive, you MUST grant read, write, create,
  1130. and delete rights to the ROOT of this drive for the user name or group being
  1131. used for the board.  Alternatively, you may use the MAP ROOT feature of Novell
  1132. to assign a drive letter to a directory so that MainMail THINKS it is working
  1133. with the root of the drive.  For example:
  1134.  
  1135.       MAP ROOT M:=SYS:GAP\     (Substitute your volume name if necessary)
  1136.  
  1137. The above configuration would create an 'M' drive who's root would actually
  1138. be the F:\GAP directory.  You could then grant rights to the bbs's login name
  1139. or group to SYS:GAP\ and use drive 'M' in the MainMail configuration above.
  1140.  
  1141.  
  1142.  
  1143.  
  1144.  
  1145.  
  1146.  
  1147.  
  1148.  
  1149.  
  1150.  
  1151.  
  1152.  
  1153.  
  1154.  
  1155.  
  1156.  
  1157.                                                                      Page 18
  1158.       Setting Message Limits By Baud Rate
  1159.       -----------------------------------
  1160.  
  1161.                                 Baud   :300   1200 2400  9600+
  1162.      Default Messages per Forum        :100   200  200   200
  1163.      Default Messages per Packet       :300   400  800   1200
  1164.      Maximum Messages per Forum        :100   200  200   200
  1165.      Maximum Messages per Packet       :300   400  800   1200
  1166.  
  1167. These parameters determine the number of message any one user can extract
  1168. during a download session.  The defaults (lines one and two) are how many
  1169. messages MainMail will default to for each baudrate listed.  In the example
  1170. above, a caller at 1200 baud would be allowed 200 messages per forum, with a
  1171. maximum of 400 messages in any one download session.  By the same token, a
  1172. user calling at 9600 or higher would be allowed 200 messages per forum with
  1173. a session maximum of 1200 messages.  These parameters are configured by
  1174. baudrate since it takes longer to download at slower baudrates.  It makes
  1175. sense to allow callers at higher baudrates to download more messages in any
  1176. one session.  A little bit of experimentation and you will arrive at the best
  1177. settings for your system.
  1178.  
  1179. The second two lines are the maximums that a user can set his own profile to. 
  1180. Since MainMail allows the user to set his(her) own defaults, you can limit
  1181. his(her) choices to reasonable amounts.  The values shown above are the
  1182. defaults as MMSETUP creates them.
  1183.  
  1184.  
  1185.      Configuring Compression Methods
  1186.      -------------------------------
  1187.  
  1188. ┌─────────────────────────────────────────────────────────────────┐
  1189. │     Method # 1       Name  : ZIP Implode (Small)   (Default)    │
  1190. │     Compress Cmd Line      : PKzip                              │
  1191. │     Un-Compress Cmd Line   : PKunzip                            │
  1192. │                                                                 │
  1193. │     Method # 2       Name  : ZIP Shrunk (Fast)                  │
  1194. │     Compress Cmd Line      : PKzip -es                          │
  1195. │     Un-Compress Cmd Line   : PKunzip                            │
  1196. │                                                                 │
  1197. │     Method # 3       Name  : ARC                                │
  1198. │     Compress Cmd Line      : PKpak                              │
  1199. │     Un-Compress Cmd Line   : PKunpak                            │
  1200. │                                                                 │
  1201. │     Method # 4       Name  :                                    │
  1202. │     Compress Cmd Line      :                                    │
  1203. │     Un-Compress Cmd Line   :                                    │
  1204. └─────────────────────────────────────────────────────────────────┘
  1205.  
  1206. The above examples of compression methods should be self-explanatory.  Once
  1207. you decide which methods you wish to offer, you simply enter the name of the
  1208. compression method, then the compress and un-compress command lines.  The
  1209. above examples are the defaults created by MMSETUP when run for the first
  1210. time.
  1211.  
  1212.  
  1213.  
  1214.  
  1215.  
  1216.                                                                      Page 19
  1217.      Configuring File Transfer Protocols
  1218.      -----------------------------------
  1219.  
  1220. ┌─────────────────────────────────────────────────────────────────────────┐
  1221. │ Macros:   #F# - Filename of Packet   #P# - Com Port        Page 1 of 5  │
  1222. │           #S# - Computer/Modem Speed #N# - Node Number                  │
  1223. │           #C# - Modem/User 'Connect' Speed                              │
  1224. │                                                                         │
  1225. │ 1  Letter: C      Name  : Xmodem CRC               ARQ Req?: N          │
  1226. │    Send Command Line    : DSZ port #P# sx #F#                           │
  1227. │    Recv Command Line    : DSZ port #P# rc #F#                           │
  1228. │                                                                         │
  1229. │ 2  Letter: G      Name  : Ymodem-G                 ARQ Req?: Y          │
  1230. │    Send Command Line    : DSZ port #P# ha cts sb #F#                    │
  1231. │    Recv Command Line    : DSZ port #P# ha cts rb -g #F#                 │
  1232. │                                                                         │
  1233. │ 3  Letter: K      Name  : Xmodem 1K                ARQ Req?: N          │
  1234. │    Send Command Line    : DSZ port #P# sx -k #F#                        │
  1235. │    Recv Command Line    : DSZ port #P# rx -k #F#                        │
  1236. │                                                                         │
  1237. │ 4  Letter: X      Name  : Xmodem Checksum          ARQ Req?: N          │
  1238. │    Send Command Line    : DSZ port #P# sx #F#                           │
  1239. │    Recv Command Line    : DSZ port #P# rx #F#                           │
  1240. └─────────────────────────────────────────────────────────────────────────┘
  1241.  
  1242. The above protocol examples are as they are created by default when MMSETUP
  1243. is run for the first time.  You may use these as configured, or change them
  1244. any way you wish.  MMSETUP configures 7 transfer protocols by default for you. 
  1245. In the interest of space, only the first 4 are illustrated here.
  1246.  
  1247. Please note that in the examples above, the transfer protocols are sorted
  1248. alphabetically.  MainMail does this automatically.  It is NOT necessary for
  1249. you to configure these protocols in any particular order.  The above examples
  1250. all use DSZ, but you may use any protocol you wish.  All you need to do is
  1251. substitute the proper variables for the parameters required by your protocol
  1252. driver.  These are the variables supported by MainMail:
  1253.  
  1254.    #F# = The file name of the QWK or REP file
  1255.    #P# = The com port number
  1256.    #S# = The com port baudrate
  1257.    #N# = The current node number
  1258.    #C# = The callers connect baudrate
  1259.  
  1260. MainMail will substitute the proper values for these macros at runtime.  All
  1261. macros must be UPPER CASE for MainMail to recognize them as macros, and
  1262. replace them with the proper values.  If you enter these in lower case,
  1263. MainMail will think that they are part of the string that the protocol needs,
  1264. and will send them as entered.
  1265.  
  1266.  
  1267.  
  1268.  
  1269.  
  1270.  
  1271.  
  1272.  
  1273.  
  1274.  
  1275.                                                                      Page 20
  1276.      The User File Editor
  1277.      --------------------
  1278.  
  1279. ┌────────────────────────────────────────────────────────────────────┐
  1280. │                                                                    │
  1281. │         First Name : TONY                   QWKs D/L : 111         │
  1282. │          Last Name : SUMMY                  REPs U/L : 59          │
  1283. │   Date of Last QWK : 06/16/92       Time of Last QWK : 09:36       │
  1284. │ ────────────────────────────────────────────────────────────────── │
  1285. │                                                                    │
  1286. │ Max Msgs Per Forum : 500              Max Msgs Total : 5000        │
  1287. │     Max QWK Size K : 0             Selected Protocol : Z           │
  1288. │                                          <CGHKXYZ>                 │
  1289. │  Includes Own Mail : N                   Expert Mode : N           │
  1290. │     Scan Bulletins : Y                    Scan Files : Y           │
  1291. │    Color Bulletins : N              Off-Line Packets : N           │
  1292. │                                                                    │
  1293. │     Network Status : N                    Net Number : 0           │
  1294. │                                                                    │
  1295. │ ────────────────────────────────────────────────────────────────── │
  1296. │  [PgUp] = Prev Record    [F2] = Find Record    [F9] = Save Record  │
  1297. │  [PgDn] = Next Record   [ESC] = Exit To Menu   [F8] = Del Record   │
  1298. └────────────────────────────────────────────────────────────────────┘
  1299.  
  1300. A description of each entry shown above appears on the next page.
  1301.  
  1302. While in the User Editor, the following keystrokes are active:
  1303.  
  1304.    PgUp - Previous Record
  1305.    PgDn - Next Record
  1306.      F2 - Find Record By Last Name
  1307.      F8 - Delete Record (Editor will prompt for confirmation of delete)
  1308.      F9 - Save Record
  1309.     ESC - Exit User Editor (If record has been changed, will prompt to save
  1310.           before exit)
  1311.  
  1312. You can not edit some of the fields in the above screen.  The uneditable
  1313. fields are:
  1314.  
  1315.  First Name
  1316.  Last Name
  1317.  Last QWK Date
  1318.  Last QWK Time
  1319.  Number of QWKs Downloaded
  1320.  Number of REPs Uploaded
  1321.  
  1322. Most fields are self explainatory, but here are the details of each one.
  1323.  
  1324.         First Name:  Displays the user's first name.  You cannot edit this
  1325.                      field.  MainMail gets this data from Gap.  Editing
  1326.                      this field would destroy the 'link' between MainMail
  1327.                      and Gap.
  1328.  
  1329.          Last Name:  Displays the user's last name.  You cannot edit this
  1330.                      field.  MainMail gets this data from Gap.  Editing
  1331.                      this field would destroy the 'link' between MainMail
  1332.                      and Gap.
  1333.  
  1334.                                                                      Page 21
  1335.   Date Of Last QWK:  The last date this user downloaded a QWK packet.  You
  1336.                      cannot edit this field.  Display only.
  1337.  
  1338. Number Of QWKs D/L:  The total number of QWK packets this user has
  1339.                      downloaded.
  1340.  
  1341. Number Of REPs U/L:  The total number of REP packets this user has uploaded.
  1342.  
  1343.   Time Of Last QWK:  The last time this user downloaded a QWK packet.  You
  1344.                      cannot edit this field.  Display only
  1345.  
  1346. Max Msgs Per Forum:  The most messages this user is allowed to extract from
  1347.                      each forum.
  1348.  
  1349.  Max QWK Size in K:  The largest QWK file this user is allowed to download.
  1350.  
  1351.     Max Msgs Total:  The most messages this user is allowed to extract in
  1352.                      a packet.
  1353.  
  1354.  Selected Protocol:  The protocol this user has selected.  Valid protocols
  1355.                      will display below this field in braces '<>'.
  1356.  
  1357.  Includes Own Mail:  Does this user extract message FROM himself.
  1358.  
  1359.     Scan Bulletins:  Does this user scan for new bulletins during download.
  1360.  
  1361.    Color Bulletins:  Does this user require 'color' (g) versions of new
  1362.                      bulletins.
  1363.  
  1364.        Expert Mode:  Does this user require the main menu.  'Expert Yes' =
  1365.                      Do not diaplay the menu.
  1366.  
  1367.         Scan Files:  Does this user scan for new files during download.
  1368.  
  1369.   Off-Line Packets:  A Future version will allow you to pre-prepair packets
  1370.                      for users off-line on a user by user basis.
  1371.                      (THIS FEATURE IS NOT YET OPERATIVE)
  1372.  
  1373.     Network Status:  In a future version, this will indicate that this user
  1374.                      is allowed 'network' type packets.  This has nothing
  1375.                      to do with access to mail network forums, IE: RelayNet
  1376.                      or Intelec.
  1377.                      (THIS FEATURE IS NOT YET OPERATIVE)
  1378.  
  1379.         Net Number:  A Future version will assign a network to this user.
  1380.                      (THIS FEATURE IS NOT YET OPERATIVE)
  1381.  
  1382.  
  1383.  
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.  
  1391.  
  1392.  
  1393.                                                                      Page 22
  1394.      IN SUMMARY
  1395.      ----------
  1396. This concludes The MainMail System documentation.  Your MainMail door should
  1397. now be ready to go.  We at The Main Shop sincerely hope that you find The
  1398. MainMail System satisfactory for your needs.  Please feel free to give us a
  1399. call if there are any questions or suggestions you may have.  We are very open
  1400. to suggestions as to how we can make our products better.
  1401.  
  1402.  
  1403.      THANKS
  1404.      ------
  1405. I want to express a special thanks to the following persons, or companies for
  1406. their help in the creation of The MainMail System.  Without them, The MainMail
  1407. System would still be only a glimmer in my eye.  I could not have done it
  1408. without any one of them.
  1409.  
  1410.   Kenny Gardner:  First and foremost!  Kenny has been more help than I can
  1411.                   put in words.  Gap BBS software is the finest and most
  1412.                   advanced BBS software available, and it is this man who
  1413.                   is responsible for making it that.  Naturally, without
  1414.                   Gap, there would be no MainMail System, and without
  1415.                   Kenny's help, I never would have been able to finish this
  1416.                   project.  Thank you for your help and guidance.
  1417.  
  1418.     Mark Turner:  Mark wrote the original version of this code, Markmail For
  1419.                   Gap back in 1990.  It was Mark who inspired me to learn
  1420.                   C, and help me to get started.  Several times through the
  1421.                   development of this product, he was a lifesaver with his
  1422.                   advise and wisdom.  Thank you very much!
  1423.  
  1424. The Beta Testers: David Del Prince, John Miller, Carl Curling, Mike May,
  1425.                   Michael Brunk, Eric Eckes, Rob Brun, Darin May, Mike
  1426.                   Kruss, Michael Part, Rick Kingslan, David Jones, Herb
  1427.                   Mellinger.
  1428.  
  1429.                   It's these guy's hard drives and MAIN directories that I
  1430.                   tortured for several weeks during the beta cycle.  Thanks
  1431.                   guys!  You have no idea how much help you were to me.
  1432.  
  1433. The MainMail System is compiled with Microsoft C 6.0, using the following
  1434. libraries:
  1435.  
  1436. C-TREE Ver 4.3c, Copyright (c) 1984-1989, by: FairCom Corporation.
  1437. CXL Ver 5.1, Copyright (c) 1987-1989, by: Mike Smedley.
  1438. MCOMM Ver 5.4 Async Library, Copyright (c) 1989,1990, by: Mike Dumdei.
  1439. BUFIO Ver 1.0 Buffered File I/O, Copyright (c) 1989, by: Mark Turner.
  1440.  
  1441. Plus portions of:
  1442. GAPCDOOR Ver 6.0, Copyright (c) 1988-1992, by: Gap Development Co.
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.  
  1450.  
  1451.  
  1452.                                                                      Page 23
  1453.       QUESTIONS AND ANSWERS
  1454.       ---------------------
  1455.  
  1456.    Q:  When my users download a packet, their last read pointers do not get
  1457.        updated even though the download was successfull.  MainMail says
  1458.        'Updating Pointers...Done' but they don't get updated.
  1459.  
  1460.    A:  You probably have your compression method configured to MOVE files
  1461.        into the archive instead of ADD files.  With PKZIP, that parameter is
  1462.        '-M'.  Confirm that the '-M' is not in your compression method
  1463.        configuration, if it is, remove it.  MainMail writes a temporary file
  1464.        called idcode.PTR to the work directory before the download starts,
  1465.        and uses this file to update the user's last read pointers after the
  1466.        download is successfull.  If this file is not present after the
  1467.        download, MainMail has no idea what to update the user's last read
  1468.        pointer to, thus it does not get updated.
  1469.  
  1470.  
  1471.    Q:  DSZ fails.  The download goes successfully, but DSZ still returns with
  1472.        an errorlevel of 1, causing MainMail to think that the download
  1473.        failed.
  1474.  
  1475.    A:  Several things can cause DSZ to fail, but the most common is the DOS
  1476.        environment variable 'DSZLOG' being set to a non-existent directory. 
  1477.        DSZ finishes the download, but cannot create its log, therefore it
  1478.        exits with an errorlevel, and MainMail thinks that the download
  1479.        failed.
  1480.  
  1481.   A2:  Another common problem is when you are using DSZ.COM (not DSZ.EXE) and
  1482.        your DOS environment is set too high.  DSZ.COM's tiny code compilation
  1483.        causes DOS's environment to subtract from the heap space available to
  1484.        DSZ.COM.  Since DSZ.COM is so close to the maximum 64k heap space
  1485.        available to .COM programs, often times if your environment is even as
  1486.        much as 300 bytes, DSZ.COM won't have enough heap space to operate. 
  1487.        The solution is either to reduce your DOS environment to under about
  1488.        300 bytes, or to use DSZ.EXE.
  1489.  
  1490.  
  1491.    Q:  MainMail can't find GAPBBS.CNF.
  1492.  
  1493.    A:  This error is most common when you are running MainMail from it's own
  1494.        directory.  Confirm that the MainMail batch file passes the corrent
  1495.        path to the node's default directory.  IE: 'MM-GAP C:\GAP'
  1496.  
  1497.  
  1498.    Q:  In MMSETUP, when in the user editor, if I PgUp or PgDn through the
  1499.        users, occasionally, the 'SAVE RECORD' window pops up when I haven't
  1500.        changed anything on the screen.
  1501.  
  1502.    A:  Somehow, the protocol letter in the user file was filled with a NULL.
  1503.        The user editor expects a letter or a space in that field, and places
  1504.        a space there if a NULL existed before displaying that user's record.
  1505.        Therefore, the editor thinks that the record has been edited.  Run
  1506.        MMPACK and that problem won't reappear.  MMPACK checks the protocol
  1507.        field for a NULL, and replaces it with a space if a NULL exists.
  1508.  
  1509.  
  1510.  
  1511.                                                                      Page 24
  1512.       APPENDIXES
  1513.       ----------
  1514.  
  1515. Appendix A - File Formats
  1516. -------------------------
  1517. MainMail produces and includes the following files in a downloaded QWK packet:
  1518.  
  1519.    DOOR.ID: A text file which informs the mail reader about the door.
  1520.             DOOR.ID will always have these contents:
  1521.  
  1522.             DOOR = MainMail
  1523.             VERSION = <door version number>
  1524.             SYSTEM = Gap Ver 6.0
  1525.             CONTROLNAME = MAINMAIL
  1526.             CONTROLTYPE = ADD
  1527.             CONTROLTYPE = DROP
  1528.             CONTROLTYPE = YOURS
  1529.             CONTROLTYPE = OWN
  1530.  
  1531. idcode.PTR: A binary file containing a single 8 byte record for each forum
  1532.             that the current user (the user in the door) is registered in.
  1533.             idcode.PTR is a standard C structure of the format described
  1534.             below.  If mail reader authors wish to manipulate this file and
  1535.             include it in the upload, they are welcome to.  The MainMail
  1536.             System will look for this file in an upload, and if it is found,
  1537.             MainMail will do the following:
  1538.  
  1539.             For each record contained in idcode.PTR, MainMail will:
  1540.  
  1541.          1) Check to see if the current user is registered in the forum and
  1542.             if not, MainMail will register the user in the forum.
  1543.  
  1544.          2) Reset the user's last message read to the message number
  1545.             contained in the idcode.PTR record.
  1546.  
  1547.             The format of idcode.PTR is:
  1548.  
  1549.             struct POINTER
  1550.             {
  1551.             unsigned int forumnumber;    // forum number for this record
  1552.             unsigned int extrafield;     // for future use
  1553.                     long messagenumber;  // high message number
  1554.             }pointer;
  1555.  
  1556. In addition, the following 'standard' QWK files are included:
  1557. -------------------------------------------------------------
  1558. MESSAGES.DAT: Contains the accual messages
  1559.      xxx.NDX: Index of messages in messages.dat ('xxx' = forum number)
  1560. PERSONAL.NDX: Index of messages TO: the current user.
  1561. NEWFILES.DAT: Text file containing a list of new files.
  1562.  BLT-xxx.yyy: New bulletins ('xxx' = forum number, 'yyy' = bulletin number)
  1563.  
  1564. Plus the NEWS and ENEWS files from the BBS.
  1565.  
  1566. The following file is in the 'standard' REP packet:
  1567. ---------------------------------------------------
  1568.  idcode.MSG: Replys uploaded into MainMail. (Similar to MESSAGES.DAT above)
  1569.  
  1570.                                                                      Page 25
  1571. Appendix B - Caller Log Entries
  1572. -------------------------------
  1573. The MainMail System writes a log of its activities to the Gap BBS caller logs. 
  1574. A Gap BBS caller log entry consists of a date (A), time (B), log code (D) and
  1575. a description (F), and in some cases, an additional field (E) which may
  1576. contain information such as forum number, error number or a descriptor such
  1577. as 'Open' or 'Local'.  
  1578.  
  1579. The caller log codes used by The MainMail System will be between 751 and 799. 
  1580. Codes between the numbers of 751 and 779 are normal activities, while codes
  1581. 780 and above indicate errors.  Here is an example of a caller log entry:
  1582.  
  1583.      A         B    C       D     E                    F
  1584.  06/20/92    20:55  OP     773   127        Extracted Messages: 32
  1585.  
  1586. A and B are self-explainatory, C through F are explained here.
  1587.  
  1588. C = 'OP' for normal operation, 'ERR' if an error has occured.
  1589. D = The Log code (see list immediately following this section).
  1590. E = Forum number, or other number describing the operation or error.
  1591. F = Description of entry.
  1592.  
  1593. Sometimes (as in the example above) there is an additional number after the
  1594. text.  In our example above, the extra entry is the number of messages
  1595. extracted.  
  1596.  
  1597. Where an extra number or field is included after the text field (F) , it will
  1598. be described below in braces '<>'.  
  1599.  
  1600. Where there is an entry in 'E', the item written will be described below in
  1601. square brackets '[]'.
  1602.  
  1603.  
  1604.  
  1605.  
  1606.  
  1607.  
  1608.  
  1609.  
  1610.  
  1611.  
  1612.  
  1613.  
  1614.  
  1615.  
  1616.  
  1617.  
  1618.  
  1619.  
  1620.  
  1621.  
  1622.  
  1623.  
  1624.  
  1625.  
  1626.  
  1627.  
  1628.  
  1629.                                                                      Page 26
  1630. Caller log codes and their descriptions
  1631. ---------------------------------------
  1632. The following are normal log entries, and will write the 'OP' code (C).
  1633.  
  1634. 751 = Entered Select Area
  1635. 752 = Selected Forum [forum number]
  1636. 753 = DeSelected Forum [forum number]
  1637. 754 = Entered Protocol Select Area
  1638. 755 = Selected Protocol [protocol letter]
  1639. 756 = Selected Files Scan
  1640. 757 = DeSelected Files Scan
  1641. 758 = Selected Bulletins Scan
  1642. 759 = DeSelected Bulletins Scan
  1643. 760 = Selected Expert Mode
  1644. 761 = DeSelected Expert Mode
  1645. 762 = Other Configuration Area
  1646. 763 = Entered Select Compression Area
  1647. 764 = Selected Compression [compression method number]
  1648. 765 = New Bulletins Found: [forum number] <number of new bulletins>
  1649. 766 = New Files Found: [forum number] <number of new files>
  1650. 767 = Total Messages Extracted: <number of messages>
  1651. 768 = Not Used
  1652. 769 = Not Used
  1653. 770 = New MainMail User
  1654. 771 = Downloaded Packet [protocol letter]
  1655. 772 = Uploaded Packet [protocol letter]
  1656. 773 = Extracted Messages: <number of messages>
  1657. 774 = Inserted Messages: <number of messages>
  1658. 775 = Entered Message [forum number] <message number>
  1659. 776 = Sysop Shell To DOS
  1660. 777 = Return From DOS
  1661. 778 = Not Used
  1662. 779 = Not Used
  1663. 780 = Not Used
  1664.  
  1665. Error Codes
  1666. -----------
  1667. The following are error messages and will write the 'ERR' code (C).
  1668.  
  1669. 781 = ISAM error [isam error number] <forum number>
  1670. 782 = Open Error <filename>   (This is a file not found error)
  1671. 783 = Out Of Memory
  1672. 784 = Error Creating Archive
  1673. 785 = Error Uploading Packet
  1674. 786 = Error Downloading Packet
  1675. 787 = Not Enough Time For Download
  1676. 788 = Error UnArchiving Packet
  1677. 789 = Wrong BBSID In Packet
  1678. 790 = Not Used
  1679. 791 = Not Used
  1680. 792 = Not Used
  1681. 793 = Work Directory Error
  1682. 794 = Demo version Limitation Exceeded
  1683. 795 = Carrier Lost
  1684. 796 = Keyboard Timeout
  1685. 797 = Expired Time
  1686. 798 = Invalid Key File
  1687. 799 = Abnormal Exit
  1688.                                                                      Page 27
  1689. ISAM ERRORS (781)
  1690. -----------------
  1691. When an ISAM error (log code 781) occurs, field (E) will be the accual error
  1692. code returned form the ISAM routines.  This section describes the possible
  1693. ISAM errors.
  1694.  
  1695.  12 = File Not Found, Could Not Open ISAM File.
  1696.  14 = File Appears Corrupted. Run MMPACK.
  1697.  16 = Could Not Create Index.  Probably Out Of Disk Space.
  1698.  17 = Could Not Create Data File.  Probably Out Of Disk Space.
  1699.  24 = Could Not Close File.  Probably A Memory Error.  Reboot.
  1700.  25 = Bad Link In Index. Run MMPACK.
  1701.  30 = Write Past End Of File.  Run MMPACK.
  1702.  34 = Could Not Find Previous Index Node.  Run MMPACK.
  1703.  35 = Seek Error.  Probably Out Of Disk Space.
  1704.  36 = Read Error.  Run MMPACK.
  1705.  37 = Write Error.  See error 35.
  1706.  39 = Too Many Records. (It'll never happen.  We allow 4,294,836,225 records.)
  1707.  42 = Could Not Obtain Record Lock.  Load SHARE.
  1708.  46 = File Number Already In Use.  Trying Rebuild Again.  (Normal in MMPACK)
  1709. 101 = Could Not Find Record.  Run MMPACK.
  1710.  
  1711.   782 - Open errors: These usually indicate a file not found or incorrect
  1712.                      path.  Check your Gap or MainMail configuration for
  1713.                      incorrect paths.
  1714.  
  1715. 783 - Out Of Memory: This is a serious problem.  MainMail creates buffers
  1716.                      of various sizes throughout the running of the
  1717.                      program.  (See section of Desqview and memory earlier
  1718.                      in this manual).  The memory requirements of MainMail
  1719.                      are such that if you have an 'out of memory'
  1720.                      condition, there is usually a deaper problem.  Check
  1721.                      your autoexec.bat and config.sys files for TSRs that
  1722.                      might be fragmenting memory, and leaving it split into
  1723.                      two small sections.  Reboot at the very least!
  1724.  
  1725.        784 thru 789: These are user errors.
  1726.  
  1727.      793 - Work Dir: Work directory errors are also serious.  This means
  1728.                      that MainMail could not make, or switch to the work
  1729.                      directory.  Probable cause is out of disk space, or
  1730.                      512 files in the root of the drive.
  1731.  
  1732. 794 - Demo Version Limitation Exceeded: BUY MAINMAIL!
  1733.  
  1734.        795 thru 797: These are user errors.
  1735.  
  1736. 798 - Invalid Key File:     Your MMSYS.DAT encrypted key file has been
  1737.                             altered.  See the section on 'Registering
  1738.                             MainMail' earlier in this manual.
  1739.  
  1740. 799 - Abnormal Exit: Anytime a fatal error has occured, it will be followed
  1741.                      by this error as MainMail aborts.
  1742.  
  1743. Not all of these codes acually indicate a problem, but the are errors
  1744. nontheless.  For example, if you were to encounter an error 1 for log code 786
  1745. 'Error Downloading Packet', that is simply a dos errorlevel 1 from DSZ and is
  1746. probably the user's problem.
  1747.                                                                      Page 28